package com.pt25.base.dep.redis.aspect;


import com.pt25.base.constants.BaseConstants;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

@Documented
@Inherited
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface SaveCache {
    /**
     * 缓存数据的类型
     */
    Class<?> value() default Class.class;
    /**
     * redis名称
     */
    String redisName() default BaseConstants.DEFAULT;

    /**
     * 缓存的key
     */
    String cacheKey();

    /**
     * 是否缓存null数据
     */
    boolean cacheNull() default false;

    /**
     * 缓存时间大小
     */
    long expiredTime() default 24L;

    /**
     * 缓存时间单位
     */
    TimeUnit expiredTimeUnit() default TimeUnit.HOURS;

}

